#include "ani_common.h"

static void setValueHorDown(void* bar, int32_t v)
{
    lv_obj_set_y(bar, v - LV_VER_RES);
}

static void setValueHorUp(void* bar, int32_t v)
{
    lv_obj_set_y(bar, v);
}


static void setValueVerLeft(void* bar, int32_t v)
{
    lv_obj_set_y(bar, v - LV_HOR_RES);
}

static void setValueVerRight(void* bar, int32_t v)
{
    lv_obj_set_y(bar, v);
}


//从上往下出现
void lvAnimationMovDown(lv_anim_t* a, lv_obj_t* obj,int posY)
{
    lv_anim_init(a);
    lv_anim_set_var(a, obj);
    lv_anim_set_values(a, 0, posY);
    lv_anim_set_exec_cb(a, setValueHorDown);
    lv_anim_set_time(a, 500);
    //  lv_anim_set_playback_time(&a, 2000);
    lv_anim_start(a);
}


//从上往下出现
void lvAnimationMovUp(lv_anim_t* a, lv_obj_t* obj, int posY)
{
    lv_anim_init(a);
    lv_anim_set_var(a, obj);
    lv_anim_set_values(a, 0, posY);
    lv_anim_set_exec_cb(a, setValueHorUp);
    lv_anim_set_time(a, 1000);
    //  lv_anim_set_playback_time(&a, 2000);
    lv_anim_start(a);
}




//从左到右边出现
void lvAnimationMovRight(lv_anim_t* a, lv_obj_t* obj, int posX)
{
    lv_anim_init(a);
    lv_anim_set_exec_cb(a, setValueVerRight);
    lv_anim_set_var(a, obj);
    lv_anim_set_values(a, 0, posX);
    lv_anim_set_time(a, 200);
    lv_anim_start(a);
}


//从右边向左出现
void lvAnimationMovLeft(lv_anim_t* a, lv_obj_t* obj, int posX)
{
    lv_anim_init(a);
    lv_anim_set_exec_cb(a, setValueVerLeft);
    lv_anim_set_var(a, obj);
    lv_anim_set_values(a, 0, posX);
    lv_anim_set_time(a, 200);
    lv_anim_start(a);
}
